A typical modern computing system demands a lot of computing power that can only be provided by a lot of computing modules combined with each computing module having one or more computer processors. For example, a computing system for a data center typically includes racks of computing modules stacked together. Such a conventional computing system uses at least two completely separate addressing schemes: one addressing scheme used by a computer processor to access a main memory such as physical or virtual memory addressing used in a traditional von Neumann or Harvard architecture, and another addressing scheme used for inter-module communication such as packet switching based Gigabit Ethernet.
The heterogeneous addressing schemes of the modern computing system do not provide a high scalability because of complexity of addressing remote memory and the need for extra software to use remote memory, leading to higher latency and lower bandwidth when working with remote memory. With ever increasing demand on computing power, there is a need in the art for a scalable computing system that implements a system wide uniform addressing across computing modules that combines simplicity, ease of routing and flexibility to scale while maintaining low latency, high-bandwidth communication across the system, regardless of the size of the computing system.